<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'>
<head>
  <meta content="text/html; charset=ISO-8859-1"  http-equiv="content-type" />
  <link rel="stylesheet" type="text/css" href="../style.css" />
  <title>SOCI - Existing Backends</title>
</head>

<body>
<p class="banner">SOCI - The C++ Database Access Library</p>

<h2>Existing backends and supported platforms</h2>

<h4>Supported Features</h4>

<p>(Follow the links to learn more about each backend.)</p>

<table border="1" cellpadding="5" cellspacing="0">
  <tbody>
    <tr>
      <th></th>
      <th><a href="oracle.html">Oracle</a></th>
      <th><a href="postgresql.html">PostgreSQL</a></th>
      <th><a href="mysql.html">MySQL</a></th>
      <th><a href="sqlite3.html">SQLite3</a></th>
      <th><a href="firebird.html">Firebird</a></th>
      <th><a href="odbc.html">ODBC</a></th>
    </tr>
    <tr>
      <td>Binding by Name</td>
      <td>YES</td>
      <td><a href="postgresql.html#bindingbyname">YES (>=8.0)</a></td>
      <td><a href="mysql.html#bindingbyname">YES</a></td>
      <td>YES</td>
      <td><a href="firebird.html#bindingbyname">YES</a></td>
      <td>YES</td>
    </tr>
    <tr>
      <td>Dynamic Binding</td>
      <td><a href="oracle.html#dynamic">YES</a></td>
      <td><a href="postgresql.html#dynamic">YES</a></td>
      <td><a href="mysql.html#dynamic">YES</a></td>
      <td>YES</td>
      <td>YES</td>
      <td>YES</td>
    </tr>
    <tr>
      <td>Bulk Operations</td>
      <td>YES</td>
      <td>YES</td>
      <td>YES</td>
      <td>YES</td>
      <td><a href="firebird.html#bulk">YES</a></td>
      <td>YES</td>
    </tr>
    <tr>
      <td>Transactions</td>
      <td>YES</td>
      <td>YES</td>
      <td><a href="mysql.html#transactions">YES</a>
      	(with servers that support them, usually >=&nbsp;4.0)</td>
      <td>YES</td>
      <td><a href="firebird.html#transactions">YES</a></td>
      <td>YES</td>
    </tr>
    <tr>
      <td>BLOB Data Type</td>
      <td>YES</td>
      <td><a href="postgresql.html#blob">YES</a></td>
      <td>NO</td>
      <td>YES</td>
      <td><a href="firebird.html#blob">YES</a></td>
      <td>NO</td>
    </tr>
    <tr>
      <td>RowID Data Type</td>
      <td>YES</td>
      <td>YES</td>
      <td>NO</td>
      <td>NO</td>
      <td>NO</td>
      <td>NO</td>
    </tr>
    <tr>
      <td>Nested Statements</td>
      <td>YES</td>
      <td>NO</td>
      <td>NO</td>
      <td>NO</td>
      <td>NO</td>
      <td>NO</td>
    </tr>
    <tr>
      <td>Stored Procedures</td>
      <td>YES</td>
      <td>YES</td>
      <td><a href="mysql.html#procedures">NO (but stored functions, YES)</a></td>
      <td>NO</td>
      <td>YES</td>
      <td>NO</td>
    </tr>
  </tbody>
</table>

<table class="foot-links" border="0" cellpadding="2" cellspacing="2">
  <tr>
    <td class="foot-link-left">
      <a href="../rationale.html">Previous (Rationale FAQ)</a>
    </td>
  </tr>
</table>
<p class="copyright">Copyright &copy; 2004-2008 Maciej Sobczak, Stephen Hutton</p>

</body>
</html>
